/*
*  Copyright 2020-2021 Li Fei
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package com.pengshun.modules.api.coal.service;

import com.pengshun.modules.api.coal.para.CoalBinessPara;
import com.pengshun.modules.api.coal.para.MerchantCoalPara;
import com.pengshun.modules.api.coal.para.MerchantPara;
import com.pengshun.modules.api.coal.service.dto.MerchantCoalDto;
import com.pengshun.modules.common.BaseResult;
import com.pengshun.modules.common.PagePara;

import java.util.List;

/**
* @description 服务接口
* @author lifei
* @date 2020-11-12
**/
public interface MerchantCoalService {


    /**
     *煤炭销售列表
     * @param merchantId
     * @return
     */
    BaseResult selectListBytId(Long merchantId);


    /**
     * 查询商户煤炭详情
     * @param merchantCoalId
     * @return
     */
    BaseResult selectCoalDetil(Long merchantCoalId);

    /**
     * 条件查询商户煤炭列表
     * @param para
     * @return
     * @throws Exception
     */
    BaseResult selectListBy(CoalBinessPara para) throws Exception;

//    /**
//     * 根据状态查询煤炭销售列表
//     * @param status
//     * @return
//     */
//    BaseResult selectListByStatus(Long userId, MerchantPara status);

    /**
     * 商户煤炭保存
     * @param form
     * @return
     */
    BaseResult save(MerchantCoalDto form) throws Exception;

    /**
     * 煤炭商品列表
     * @param para
     * @return
     */
    BaseResult selectCoalList(PagePara para);

    /**
     * 煤炭商品详情
     * @param para
     * @return
     */
    BaseResult selectMerchantCoalDetil(MerchantCoalPara para);
    /**
     * 更新
     * @param form
     * @return
     */
    BaseResult update(MerchantCoalDto form);


    /**
     * 煤炭商品删除
     * @param merchantCoalId
     * @return
     */
    BaseResult delete(Long merchantCoalId);

    /**
     * 煤炭发布
     * @param merchantCoalId
     * @return
     */
    BaseResult issue(Long merchantCoalId);

    /**
     * 煤炭上架/下架
     * @param para
     * @return
     */
    BaseResult show(MerchantCoalPara para);


}